#ifndef SCT_RTSPSERVER_TSSERVERMEDIASUBSESSION_H
#define SCT_RTSPSERVER_TSSERVERMEDIASUBSESSION_H

#include "sct/core/common.h"
#include "OnDemandServerMediaSubsession.hh"

namespace sct
{
class CTsServerMediaSubsession: public OnDemandServerMediaSubsession
{
public:
	static CTsServerMediaSubsession*
	createNew(UsageEnvironment& env, void* source, Boolean reuseFirstSource);

protected:
	CTsServerMediaSubsession(UsageEnvironment& env, void* source,
			Boolean reuseFirstSource);
	virtual ~CTsServerMediaSubsession();

protected:
	virtual FramedSource* createNewStreamSource(unsigned clientSessionId,
						      unsigned& estBitrate);
	virtual RTPSink* createNewRTPSink(Groupsock* rtpGroupsock,
	                                    unsigned char rtpPayloadTypeIfDynamic,
					    FramedSource* inputSource);

	void* mSource;
};
}
#endif
